package com.wgchao.pharmacymg.domain.event;

import com.wgchao.pharmacymg.application.mapstruct.dto.PhDrugInfoDTO;
import com.wgchao.pharmacymg.application.mapstruct.mapper.PhDrugInfoMapper;
import com.wgchao.pharmacymg.domain.dao.PhDrugInfoDao;
import com.wgchao.pharmacymg.domain.entity.PhDrugInfoDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * @ClassName: DrugInfoEvent
 * @author: wgchao
 * @createTime: 2019/11/18 10:22 AM
 * @Description: 药品事件
 */
@Service
public class DrugInfoEvent {
    @Autowired
    private PhDrugInfoDao drugInfoDao;
    @Autowired
    private PhDrugInfoMapper drugInfoMapper;

    /**
     * 新增药品
     * @param drugInfoDTO
     * @return
     */
    public PhDrugInfoDTO save(PhDrugInfoDTO drugInfoDTO){
        //TODO 获取机构信息 信息检查
        PhDrugInfoDO drugInfoDO = drugInfoMapper.toEntity(drugInfoDTO);
        drugInfoDO.create();
        drugInfoDO = drugInfoDao.save(drugInfoDO);
        return drugInfoMapper.toDTO(drugInfoDO);
    }

    public PhDrugInfoDTO update(PhDrugInfoDTO drugInfoDTO){
        PhDrugInfoDO drugInfoDO = drugInfoDao.findById(drugInfoDTO.getDrugId());
        drugInfoDO = drugInfoMapper.toEntity(drugInfoDTO);
        drugInfoDO = drugInfoDao.save(drugInfoDO);
        return drugInfoMapper.toDTO(drugInfoDO);
    }

    public void delete(Long drugId){
        PhDrugInfoDO drugInfoDO = drugInfoDao.findById(drugId);
        drugInfoDO.delete();
        drugInfoDO = drugInfoDao.save(drugInfoDO);
    }

    //TODO 分页查询与条件查询
}
